/* eslint-disable max-lines */
import * as BASE from '@/stores/definitions-base';
import { t } from '@lingui/macro';
import React from 'react';

const {
  DATETIME_TEXT,
  DATE_TEXT,
  TIME_TEXT,
  EMPTY_TEXT,
  ENUMS: ENUMSBase,
  FieldsGrid: FieldGridBase,
  TitleGrid,
  column: columnBase,
  toSelectDataSource,
} = BASE;
export { DATETIME_TEXT, DATE_TEXT, EMPTY_TEXT, TIME_TEXT, TitleGrid, toSelectDataSource };

export function column(...args) {
  return columnBase(orderModel, ...args);
}

export function FieldsGrid(props) {
  return <FieldGridBase model={orderModel} {...props} />;
}

//----------------------------------------------------------------------
export const ENUMS = {
  ...ENUMSBase,
  orderStatus: {
    0: t`已取消`,
    1: t`待派车`,
    2: t`进行中`,
    3: t`已完成`,
  },
  orderType: {
    0: t`点对点`,
    1: t`时租`,
  },
  // 0：包车任务，1：专线任务`
  taskType: {
    0: t`包车任务`,
    1: t`专线任务`,
  },
  language: {
    1: t`普通话`,
    2: t`粤语`,
    3: t`英语`,
  },
  //  0 - 微信支付 , 1 - 支付宝`
  payType: {
    0: t`微信支付`,
    1: t`支付宝`,
  },
  // 0-微信 1-后台下单 2-h5酒店下单
  orderFromType: {
    0: t`微信`,
    1: t`后台下单`,
    2: t`h5酒店下单`,
  },
  // 0 已驳回<br/> - 1 申请中<br/> - 2 已提交<br/> 前端提交
  refundState: {
    0: t`已驳回`,
    1: t`申请中`,
    2: t`已提交`,
  },
};

export const orderModel = {
  partnerName: {
    label: t`合伙人`,
  },
  startMainAreaName: {
    label: t`开始城市名称`,
  },
  endMainAreaName: {
    label: t`结束城市名称`,
  },
  startMinorAreaName: {
    label: t`开始区域名称`,
  },
  endMinorAreaName: {
    label: t`结束区域名称`,
  },
  orderTypeName: {
    label: t`订单类型`,
    text: (v, record) => {
      const { directRoute } = record?.ccOrder;
      return `${v}(${directRoute ? '直达' : '多段换乘'})`;
    },
    //  0 - 点对点；1 - 时租`,
  },
  orderOptionTypeName: {
    label: t`乘车类型`,
  },
  portTypeName: {
    label: t`口岸名称`,
  },
  vehicleTypeName: {
    label: t`车型，0 - 丰田埃尔法； 1 - 奔驰`,
  },
  orderStatusName: {
    label: t`订单状态，0 - 未支付；1 - 已支付； 2 - 已派车；3 - 已确定；4 - 已开始；5 - 已完成；6 - 已取消（支付超时如何处理？保留还是删除？）；7 -已出发`,
  },
  company: {
    label: t`公司信息`,
    code: {
      label: t`公司id<br/> 2位注册地区编码+4位数字<br/> - 香港HK<br/> - 大陆CN<br/> - 澳门OM`,
    },
    name: {
      label: t`所属公司`,
      text: (v, record) => {
        const { directRoute, transferLinePrice } = record?.ccOrder;
        if (directRoute) {
          return v;
        } else {
          const { fromRoute, toRoute } = transferLinePrice || {};
          return `${fromRoute?.company?.name},${toRoute?.company?.name}`;
        }
      },
    },
    registerAddr: {
      label: t`注册地区<br/> - 香港HK<br/> - 大陆CN<br/> - 澳门OM`,
    },
    tel: {
      label: t`公司电话`,
    },
    address: {
      label: t`联系地址`,
    },
    independentAccount: {
      label: t`分账设置信息`,
      period: {
        label: t`分账周期：T+0、T+1、T+2、T+7、T+30(加几值为几，例：T+0 值为0)`,
      },
      suspensionOfDistribution: {
        label: t`暂停分账 true：暂停 false：可分账`,
      },
      settlementOfDriverCharges: {
        label: t`是否委托平台自动结算司机费用`,
      },
      collectionAccountInformation: {
        label: t`收款账户信息`,
        appId: {
          label: t`公众号appId`,
        },
        accountIdentification: {
          label: t`账户标识`,
        },
        name: {
          label: t`名字`,
        },
        type: {
          label: t`分账接收方类型<br/> MERCHANT_ID：商户号<br/> PERSONAL_OPENID：个人openid`,
        },
      },
    },
    orgCode: {
      label: t`工商编码`,
    },
    isManual: {
      label: t`手工派单<br/> - false 自动<br/> - true 手工`,
    },
    orgDirector: {
      label: t`企业负责人<br/> 必填，法人代表等`,
    },
    directorIdType: {
      label: t`负责人证件类型`,
    },
    directorId: {
      label: t`负责人证件号`,
    },
    directorTel: {
      label: t`负责人电话`,
    },
    dateOfIncorporate: {
      label: t`成立日期`,
    },
    status: {
      label: t`公司状态<br/> 必填<br/> - 1 启用（默认）<br/> - 0 禁用 禁用时，不派单给该公司旗下车辆`,
    },
    bankAccounts: {
      label: t`开户行信息`,
      bank: {
        label: t`开户银行 下拉选择`,
      },
      accountName: {
        label: t`账户名称`,
      },
      account: {
        label: t`银行账号`,
      },
    },
  },
  hasSurcharge: {
    label: t`是否设置运营附加费<br/> - true 已设置，<br/> - false 未设置`,
  },
  attachments: [
    {
      label: t`附件`,
      title: {
        label: t`附件标题`,
      },
      description: {
        label: t`附件说明`,
      },
      binaryId: [
        {
          label: t`附件id`,
        },
      ],
    },
  ],
  crBy: {
    label: t`创建者`,
  },
  upBy: {
    label: t`最后修改者`,
  },
  crDate: {
    label: t`下单时间`,
    text: DATETIME_TEXT,
  },
  upDate: {
    label: t`最后修收时间`,
  },
  tenantId: {
    label: t`租户ID`,
  },
  id: {
    label: t`订单编号`,
  },
  operating: {
    label: t``,
  },
  driverUser: {
    label: t`司机对应互联网信息`,
    username: {
      label: t`用户账号标识，为accountId@domain转义后的结果，一旦生成不可修改`,
    },
    nickname: {
      label: t`昵称`,
    },
    gender: {
      label: t`性别：1 - 男； 2 - 女`,
    },
    accountId: {
      label: t`集成账号，如第三方系统账号，必须`,
    },
    email: {
      label: t`邮箱账号`,
    },
    status: {
      label: t`状态 1 - 正常；0 - 禁用，只读`,
    },
    fullname: {
      label: t`姓名，必须`,
    },
    mobile: {
      label: t`手机号`,
    },
    remarks: {
      label: t`备注`,
    },
    userTypes: [
      {
        label: t`用户类型标识数据 1-客户 2-合伙人 3-司机 4-验票员 5-调度员`,
      },
    ],
    material: [
      {
        label: t`图片列表`,
      },
    ],
    customerInfo: {
      label: t`cbbv协作平台客户信息`,
      agentId: {
        label: t`cbbv协作平台客户信息，仅userTypes包含类型1时存在该字段`,
      },
      inviteCode: {
        label: t`邀请码 编码-用户类型 例：HbXm6M0-2`,
      },
      customerType: {
        label: t`区域类型，必须，0 - 境内用户(内地)； 1 - 境外用户(港澳台), 对应中港通系统customerStatus`,
      },
      channelId: {
        label: t`用户渠道扫码关联`,
      },
      registerTime: {
        label: t`注册时间`,
      },
      attachments: [
        {
          label: t`附件`,
          title: {
            label: t`附件标题`,
          },
          description: {
            label: t`附件说明`,
          },
          binaryId: [
            {
              label: t`附件id`,
            },
          ],
        },
      ],
    },
    partnerInfo: {
      label: t`cbbv协作平台合伙人信息`,
      amount: {
        label: t`合伙人当月的预存款`,
      },
      returnRate: {
        label: t`合伙人当前的返现率，从当月缴存的合作金计算得出`,
      },
      discount: {
        label: t`合伙人当前的折扣率，从当月缴存的合作金计算得出`,
      },
      balance: {
        label: t`合伙人余额`,
      },
      beginDate: {
        label: t`起始时间`,
      },
      endDate: {
        label: t`结束时间`,
      },
      registerTime: {
        label: t`注册时间`,
      },
      enablingClause: {
        label: t`是否授权条款`,
      },
      bindingPeriod: {
        label: t`绑定期限 0，1个月、6个月、1年（12:默认）、-1:永久`,
      },
      companyId: {
        label: t`公司id`,
      },
      companyName: {
        label: t`公司名称`,
      },
      address: {
        label: t`地址`,
      },
      remark: {
        label: t`备注`,
      },
      partnerStatus: {
        label: t`状态 1-启用、0-停用`,
      },
      type: {
        label: t`类型 0：激励型，1：利益型（默认）`,
      },
      cashBackRate: {
        label: t`返现率<br/> bus 巴士票返现率：默认0<br/> charteredBus 包车返现率：默认0.05<br/> shuttleBus 班车票返现率：默认0.1`,
      },
      attachments: [
        {
          label: t`附件`,
          title: {
            label: t`附件标题`,
          },
          description: {
            label: t`附件说明`,
          },
          binaryId: [
            {
              label: t`附件id`,
            },
          ],
        },
      ],
      independentAccount: {
        label: t`分账设置信息`,
        period: {
          label: t`分账周期：T+0、T+1、T+2、T+7、T+30(加几值为几，例：T+0 值为0)`,
        },
        suspensionOfDistribution: {
          label: t`暂停分账 true：暂停 false：可分账`,
        },
        settlementOfDriverCharges: {
          label: t`是否委托平台自动结算司机费用`,
        },
        collectionAccountInformation: {
          label: t`收款账户信息`,
          appId: {
            label: t`公众号appId`,
          },
          accountIdentification: {
            label: t`账户标识`,
          },
          name: {
            label: t`名字`,
          },
          type: {
            label: t`分账接收方类型<br/> MERCHANT_ID：商户号<br/> PERSONAL_OPENID：个人openid`,
          },
        },
      },
      discountInfo: {
        label: t`折扣信息`,
        disable: {
          label: t`启用状态 true-禁用 false-启用`,
        },
        failureTime: {
          label: t`失效时间`,
        },
        bus: {
          label: t`巴士折扣信息`,
          type: {
            label: t`折扣类型 0-比例 1-指定金额`,
          },
          discountValue: {
            label: t`折扣值<br/> RMB<br/> HKD<br/> MOP`,
          },
        },
        cc: {
          label: t`包车折扣信息`,
          type: {
            label: t`折扣类型 0-比例 1-指定金额`,
          },
          discountValue: {
            label: t`折扣值<br/> RMB<br/> HKD<br/> MOP`,
          },
        },
        sc: {
          label: t`专线折扣信息`,
          type: {
            label: t`折扣类型 0-比例 1-指定金额`,
          },
          discountValue: {
            label: t`折扣值<br/> RMB<br/> HKD<br/> MOP`,
          },
        },
      },
    },
    driverInfo: {
      label: t`司机信息`,
      companyId: {
        label: t`公司id`,
      },
      auditStatus: {
        label: t`审核状态是否通过`,
      },
      driverStatus: {
        label: t`司机状态 1-启用、0-停用，控制台设置`,
      },
      dutyStatus: {
        label: t`值班状态 1-正常在岗、0-离岗休假，司机可自行设置，离岗后，将不派单给该司机`,
      },
      dutyVehicleId: {
        label: t`值班车辆 正常在岗时，司机可自行选择关联的车辆，也可以后台设置`,
      },
      dateBirth: {
        label: t`出生年月`,
      },
      permanentLand: {
        label: t`常驻地`,
      },
      licenseMainland: {
        label: t`大陆驾驶证信息`,
        licenseNo: {
          label: t`驾驶证号`,
        },
        vechileType: {
          label: t`驾驶车型 选择，大型客车、中型客车、小型客车、大型货车`,
        },
        validityDate: {
          label: t`驾驶证有效期 输入了驾驶证号，就是必填`,
        },
      },
      licenseHK: {
        label: t`香港驾驶证信息`,
        licenseNo: {
          label: t`驾驶证号`,
        },
        vechileType: {
          label: t`驾驶车型 选择，大型客车、中型客车、小型客车、大型货车`,
        },
        validityDate: {
          label: t`驾驶证有效期 输入了驾驶证号，就是必填`,
        },
      },
      internationalLicense: {
        label: t`国际驾照 选择，无（默认）、 大型客车、中型客车、小型客车、大型货车`,
      },
      attachments: [
        {
          label: t`附件`,
          title: {
            label: t`附件标题`,
          },
          description: {
            label: t`附件说明`,
          },
          binaryId: [
            {
              label: t`附件id`,
            },
          ],
        },
      ],
      registerTime: {
        label: t`注册时间`,
      },
      hkMobile: {
        label: t`香港电话`,
      },
      number: {
        label: t`身份证号`,
      },
      address: {
        label: t`住址`,
      },
      type: {
        label: t`1商务车司机 2巴士司机`,
      },
      independentAccount: {
        label: t`分账设置信息`,
        period: {
          label: t`分账周期：T+0、T+1、T+2、T+7、T+30(加几值为几，例：T+0 值为0)`,
        },
        suspensionOfDistribution: {
          label: t`暂停分账 true：暂停 false：可分账`,
        },
        settlementOfDriverCharges: {
          label: t`是否委托平台自动结算司机费用`,
        },
        collectionAccountInformation: {
          label: t`收款账户信息`,
          appId: {
            label: t`公众号appId`,
          },
          accountIdentification: {
            label: t`账户标识`,
          },
          name: {
            label: t`名字`,
          },
          type: {
            label: t`分账接收方类型<br/> MERCHANT_ID：商户号<br/> PERSONAL_OPENID：个人openid`,
          },
        },
      },
    },
    conductorInfo: {
      label: t`检票员信息`,
      registerTime: {
        label: t`注册时间`,
      },
      headimgurl: {
        label: t`头像url地址`,
      },
      remarks: {
        label: t`备注`,
      },
      mobile: {
        label: t`手机`,
      },
      fullname: {
        label: t`名称`,
      },
      companyId: {
        label: t`公司id`,
      },
    },
    dispatcherInfo: {
      label: t`调度员信息`,
      registerTime: {
        label: t`注册时间`,
      },
      headimgurl: {
        label: t`头像url地址`,
      },
      remarks: {
        label: t`备注`,
      },
      mobile: {
        label: t`手机`,
      },
      fullname: {
        label: t`名称`,
      },
      companyId: {
        label: t`公司id`,
      },
    },
    counters: {
      label: t`计数统计`,
      ccorder: {
        label: t`包车订单数`,
      },
      scorder: {
        label: t`班车订单数`,
      },
      busorder: {
        label: t`大巴订单数`,
      },
    },
    crBy: {
      label: t`创建者`,
    },
    upBy: {
      label: t`最后修改者`,
    },
    crDate: {
      label: t`创建时间`,
    },
    upDate: {
      label: t`最后修收时间`,
    },
    tenantId: {
      label: t`租户ID`,
    },
    id: {
      label: t``,
    },
  },
  driverComment: {
    label: t`司机评论信息`,
    reviewerName: {
      label: t`评论人姓名`,
    },
    commentedByName: {
      label: t`被评论人姓名`,
    },
    id: {
      label: t``,
    },
    star: {
      label: t`评论星级`,
    },
    comment: {
      label: t`评论内容`,
    },
    orderType: {
      label: t`订单类型<br/> 1-包车订单<br/> 2-班车订单<br/> 3-巴士订单`,
    },
    commentDate: {
      label: t`评论时间`,
    },
    commentType: {
      label: t`评论类型<br/> driver-司机对客户评论<br/> customer-客户对司机评论<br/> order-客户对订单评价`,
    },
    reviewer: {
      label: t`评论人`,
    },
    commentedBy: {
      label: t`被评论人`,
    },
    orderId: {
      label: t`订单id`,
    },
    crBy: {
      label: t`创建者`,
    },
    upBy: {
      label: t`最后修改者`,
    },
    crDate: {
      label: t`创建时间`,
    },
    upDate: {
      label: t`最后修收时间`,
    },
    tenantId: {
      label: t`租户ID`,
    },
  },
  customerComment: {
    label: t`顾客评论信息`,
    reviewerName: {
      label: t`评论人姓名`,
    },
    commentedByName: {
      label: t`被评论人姓名`,
    },
    id: {
      label: t``,
    },
    star: {
      label: t`评论星级`,
    },
    comment: {
      label: t`评论内容`,
    },
    orderType: {
      label: t`订单类型<br/> 1-包车订单<br/> 2-班车订单<br/> 3-巴士订单`,
    },
    commentDate: {
      label: t`评论时间`,
    },
    commentType: {
      label: t`评论类型<br/> driver-司机对客户评论<br/> customer-客户对司机评论<br/> order-客户对订单评价`,
    },
    reviewer: {
      label: t`评论人`,
    },
    commentedBy: {
      label: t`被评论人`,
    },
    orderId: {
      label: t`订单id`,
    },
    crBy: {
      label: t`创建者`,
    },
    upBy: {
      label: t`最后修改者`,
    },
    crDate: {
      label: t`创建时间`,
    },
    upDate: {
      label: t`最后修收时间`,
    },
    tenantId: {
      label: t`租户ID`,
    },
  },
  orderCommentCount: {
    label: t`订单评价数量`,
  },
  vehicleModel: {
    label: t`车辆信息`,
    driverInfo: {
      label: t`司机信息`,
      companyId: {
        label: t`公司id`,
      },
      auditStatus: {
        label: t`审核状态是否通过`,
      },
      driverStatus: {
        label: t`司机状态 1-启用、0-停用，控制台设置`,
      },
      dutyStatus: {
        label: t`值班状态 1-正常在岗、0-离岗休假，司机可自行设置，离岗后，将不派单给该司机`,
      },
      dutyVehicleId: {
        label: t`值班车辆 正常在岗时，司机可自行选择关联的车辆，也可以后台设置`,
      },
      dateBirth: {
        label: t`出生年月`,
      },
      permanentLand: {
        label: t`常驻地`,
      },
      licenseMainland: {
        label: t`大陆驾驶证信息`,
        licenseNo: {
          label: t`驾驶证号`,
        },
        vechileType: {
          label: t`驾驶车型 选择，大型客车、中型客车、小型客车、大型货车`,
        },
        validityDate: {
          label: t`驾驶证有效期 输入了驾驶证号，就是必填`,
        },
      },
      licenseHK: {
        label: t`香港驾驶证信息`,
        licenseNo: {
          label: t`驾驶证号`,
        },
        vechileType: {
          label: t`驾驶车型 选择，大型客车、中型客车、小型客车、大型货车`,
        },
        validityDate: {
          label: t`驾驶证有效期 输入了驾驶证号，就是必填`,
        },
      },
      internationalLicense: {
        label: t`国际驾照 选择，无（默认）、 大型客车、中型客车、小型客车、大型货车`,
      },
      attachments: [
        {
          label: t`附件`,
          title: {
            label: t`附件标题`,
          },
          description: {
            label: t`附件说明`,
          },
          binaryId: [
            {
              label: t`附件id`,
            },
          ],
        },
      ],
      registerTime: {
        label: t`注册时间`,
      },
      hkMobile: {
        label: t`香港电话`,
      },
      number: {
        label: t`身份证号`,
      },
      address: {
        label: t`住址`,
      },
      type: {
        label: t`1商务车司机 2巴士司机`,
      },
      independentAccount: {
        label: t`分账设置信息`,
        period: {
          label: t`分账周期：T+0、T+1、T+2、T+7、T+30(加几值为几，例：T+0 值为0)`,
        },
        suspensionOfDistribution: {
          label: t`暂停分账 true：暂停 false：可分账`,
        },
        settlementOfDriverCharges: {
          label: t`是否委托平台自动结算司机费用`,
        },
        collectionAccountInformation: {
          label: t`收款账户信息`,
          appId: {
            label: t`公众号appId`,
          },
          accountIdentification: {
            label: t`账户标识`,
          },
          name: {
            label: t`名字`,
          },
          type: {
            label: t`分账接收方类型<br/> MERCHANT_ID：商户号<br/> PERSONAL_OPENID：个人openid`,
          },
        },
      },
    },
  },
  brandModelName: {
    label: t`车牌名称`,
  },
  permanentLandName: {
    label: t`车辆常驻地`,
  },
  mainDriverName: {
    label: t`主司机`,
  },
  coDriverNames: {
    label: t`副司机`,
  },
  ccOrderNum: {
    label: t`专车数量`,
  },
  portNames: {
    label: t`口岸`,
  },
  username: {
    label: t`用户标识`,
  },
  fullname: {
    label: t`用户名称`,
  },
  phone: {
    label: t`该司机的手机号`,
  },
  isService: {
    label: t`是否正在服务中`,
  },
  isConnect: {
    label: t`是否存在值班车辆是该车的司机用户`,
  },
  code: {
    label: t`车辆编号 自动生成，公司编码+四位数字`,
  },
  companyId: {
    label: t`公司编码`,
  },
  type: {
    label: t`商务车1，巴士2`,
  },
  vin: {
    label: t`VIN码`,
  },
  landCompany: {
    label: t`大陆公司`,
  },
  hkCompany: {
    label: t`香港公司`,
  },
  vehicleColor: {
    label: t`车辆颜色`,
  },
  engine: {
    label: t`发动机号`,
  },
  firstTime: {
    label: t`首次登记时间`,
  },
  manufacturer: {
    label: t`生产商`,
  },
  licenseNo: {
    label: t`车辆号牌`,
    mainland: {
      label: t`大陆号牌`,
    },
    hk: {
      label: t`香港号牌`,
    },
  },
  vehicle: {
    label: t`品牌型号 选择`,
  },
  vehicleType: {
    label: t`车辆类型 1-大巴 2-商务车 3-小客车`,
  },
  numberOfSeats: {
    label: t`座位数`,
  },
  dateOfDelivery: {
    label: t`出厂日期`,
  },
  remark: {
    label: t`备注`,
  },
  status: {
    label: t`车辆状态 0-停用（默认）;1-启用，停用时不派单`,
  },
  validityDateOfAnnualReview: {
    label: t`年审有效期`,
  },
  validityDateOfEntryExit: {
    label: t`出入境有效期`,
  },
  permanentLand: {
    label: t`常驻地`,
  },
  carType: {
    label: t`汽车类型：营运车，其他车（蓝牌）`,
  },
  ports: [
    {
      label: t`出入口岸`,
    },
  ],
  mainDriver: {
    label: t`主司机`,
  },
  coDrivers: [
    {
      label: t`关联司机标识（副司机）`,
    },
  ],
  tude: {
    label: t`经纬度`,
  },
  address: {
    label: t`地址`,
  },
  orderNumber: {
    label: t`订单编号`,
  },
  discountPrice: {
    label: t`优惠金额`,
  },
  hotel: {
    label: t`关联酒店`,
  },
  hotelPrice: {
    label: t`酒店价格`,
  },
  hotelRootPrice: {
    label: t`酒店基础价`,
  },
  taskIds: [
    {
      label: t`任务关联id`,
    },
  ],
  completionTime: {
    label: t`完成时间`,
  },
  orderChangeRemarks: {
    label: t`订单变更备注`,
    ui: {
      span: 4,
    },
  },
  ccOrder: {
    label: t`包车订单`,
    orderNo: {
      label: t`订单编号，自动生成，规则：CCOYYYYMMDDHHMMSS+3位数字`,
    },
    carDescription: {
      label: t`用车描述`,
    },
    priceDifference: {
      label: t`差价`,
    },
    realTime: {
      label: t`实时订单标记为司机执行服务前提醒确认定时任务使用`,
    },
    dispatchTime: {
      label: t`派车时间`,
    },
    isManual: {
      label: t`是否手工派单`,
    },
    directionalCompany: {
      label: t`扫码定向公司id`,
    },
    companyId: {
      label: t`公司id`,
    },
    dailySettleId: {
      label: t`日结Id`,
    },
    monthlySettleId: {
      label: t`月结Id`,
    },
    partnerId: {
      label: t`合伙人id 0-表示平台`,
    },
    orderStatus: {
      label: t`订单状态`,
      text: (v) => ENUMS.orderStatus[v],
      //  0-已取消 1-已支付 2-进行中 3-已完成`,
    },
    payTime: {
      label: t`支付时间`,
      text: DATETIME_TEXT,
    },
    refundTime: {
      label: t`退款时间`,
    },
    cancelOrderTime: {
      label: t`取消订单时间`,
    },
    cancelRemark: {
      label: t`取消订单备注`,
    },
    payType: {
      label: t`支付方式`,
      text: (v, record) => {
        const { payType } = record?.ccOrder || {};
        return ENUMS.payType[payType];
      },
      // 0 - 微信支付 , 1 - 支付宝`,
    },
    appId: {
      label: t`appid`,
    },
    rootPrice: {
      label: t`线路基础价`,
    },
    orderFromType: {
      label: t`订单来源`,
      text: (v, record) => {
        const { orderFromType } = record?.ccOrder || {};
        return ENUMS.orderFromType[orderFromType];
      },
      //  0-微信 1-后台下单 2-h5酒店下单`,
    },
    orderOptionType: {
      label: t`订单选项类型，0 - 全程通车；1 - 关口分车`,
    },
    beginDate: {
      label: t`开始时间`,
    },
    endDate: {
      label: t`结束时间`,
    },
    mainPlate: {
      label: t`大陆车牌`,
    },
    minorPlate: {
      label: t`港澳车牌`,
    },
    vehicleType: {
      label: t`车型，0 - 丰田埃尔法； 1 - 奔驰`,
    },
    location: {
      label: t`定位提醒`,
    },
    remarks: {
      label: t`客户备注`,
      ui: {
        span: 4,
      },
    },
    attachments: [
      {
        label: t`附件`,
        title: {
          label: t`附件标题`,
        },
        description: {
          label: t`附件说明`,
        },
        binaryId: [
          {
            label: t`附件id`,
          },
        ],
      },
    ],
    directRoute: {
      label: t`是否直达线路订单`,
    },
    transferLinePrice: {
      label: t`换乘方案信息`,
      dockingStation: {
        label: t`指定接泊站点`,
      },
      fromRoute: {
        label: t`起始线路`,
        routePrice: {
          label: t`关联价格线路`,
        },
        companyId: {
          label: t`承运商id`,
        },
        companyName: {
          label: t`承运商名称`,
        },
        predictTime: {
          label: t`预估时长`,
        },
        mileage: {
          label: t`预估里程`,
        },
      },
      toRoute: {
        label: t`结束线路`,
        routePrice: {
          label: t`关联价格线路`,
        },
        companyId: {
          label: t`承运商id`,
        },
        companyName: {
          label: t`承运商名称`,
        },
        predictTime: {
          label: t`预估时长`,
        },
        mileage: {
          label: t`预估里程`,
        },
      },
      price: {
        label: t`换乘总价`,
      },
      rootPrice: {
        label: t`换乘基础价`,
      },
    },
    flightNumber: {
      label: t`航班号`,
    },
    orderType: {
      label: t`订单类型，0 - 点对点；1 - 时租`,
    },
    vehicleId: {
      label: t`车辆id`,
    },
    driverId: {
      label: t`司机id`,
    },
    driverName: {
      label: t`司机名`,
    },
    language: {
      label: t`语言要求`,
      text: (_, record) => {
        const { language = [] } = record?.ccOrder;
        const text = language?.reduce((res, cur) => {
          res.push(ENUMS.language[cur]);
          return res;
        }, []).join('、');
        return text;
      },
    },
    passengerName: {
      label: t`乘坐人`,
    },
    passengerPhone: {
      label: t`乘坐人电话`,
    },
    subscribeName: {
      label: t`下单人`,
    },
    subscribePhone: {
      label: t`下单人电话`,
    },
    number: {
      label: t`人数`,
    },
    numberOfLuggage: {
      label: t`行李数`,
    },
    startMainArea: {
      label: t`开始城市编号`,
    },
    startMinorArea: {
      label: t`开始区域编号`,
    },
    startStationName: {
      label: t`开始站点名称`,
    },
    endMainArea: {
      label: t`结束城市编号`,
    },
    endMinorArea: {
      label: t`结束区域编号`,
    },
    endStationName: {
      label: t`结束站点名称`,
    },
    predictBeginDate: {
      label: t`预估开始时间`,
      text: DATETIME_TEXT,
    },
    predictEndDate: {
      label: t`预估结束时间`,
    },
    isPass: {
      label: t`是否过关`,
      text: (v) => (v ? t`是` : t`否`),
    },
    portType: {
      label: t`口岸类型，0 - 深圳湾口岸；1 - 澳门口岸；2 - 珠海口岸`,
    },
    isMap: {
      label: t`需要地图链接`,
      text: (v) => (v ? t`是` : t`否`),
    },
    predictTime: {
      label: t`预估时长`,
    },
    mileage: {
      label: t`里程`,
    },
    beginName: {
      label: t`开始地址`,
      ui: {
        span: 3,
      },
    },
    beginTude: {
      label: t`开始地址经纬度`,
    },
    endName: {
      label: t`结束地址`,
      ui: {
        span: 3,
      },
    },
    endTude: {
      label: t`结束地址经纬度`,
    },
    surcharges: [
      {
        label: t`附加费列表`,
      },
    ],
    roadFee: {
      label: t`路桥费`,
    },
    oilFee: {
      label: t`加油费`,
    },
    partFee: {
      label: t`停车费`,
    },
    repairFee: {
      label: t`维修费`,
    },
    otherFee: {
      label: t`其他费用`,
    },
    surchargeExplain: {
      label: t`附加费说明`,
    },
    addFee: {
      label: t`附加总费用`,
    },
    surchargePayStatus: {
      label: t`附加费支付状态，0 - 未支付；1 - 已支付；`,
    },
    surchargePayUrl: {
      label: t`附加费微信支付地址`,
    },
  },
  transactionId: {
    label: t`微信支付订单号`,
  },
  prepayId: {
    label: t`微信预支付生成的标识<br/> 首次发起支付时生成，支付过程中断后再次支付时提供`,
  },
  price: {
    label: t`订单价格`,
  },
  currency: {
    label: t`币种`,
    text: (v) => ENUMS.currency[v],
  },
  orderType: {
    label: t`订单类型<br/> - 1 包车订单<br/> - 2 班车订单<br/> - 3 巴士订单`,
  },
  relation: {
    label: t`关联订单<br/> 记录发起返空线路的原订单。不为空则表示为特惠订单。`,
  },
  notices: [
    {
      label: t`通知控制信息<br/> 第二次将不发送通知`,
    },
  ],
  settlementId: {
    label: t`结算id`,
  },
  unfrozenFunds: {
    label: t`是否解冻资金`,
  },
  closingOfDistribution: {
    label: t`是否分账结束`,
  },
  accountRequestInfos: [
    {
      label: t`分账请求信息列表`,
      appId: {
        label: t`appId`,
      },
      id: {
        label: t`订单id`,
      },
      transactionId: {
        label: t`微信支付订单号`,
      },
      outOrderNo: {
        label: t`商户系统内部的分账单号`,
      },
      orderId: {
        label: t`微信分账单号,微信支付系统返回的唯一标识`,
      },
      state: {
        label: t`分账单状态（每个接收方的分账结果请查看receivers中的result字段）<br/> 1、PROCESSING：处理中<br/> 2、FINISHED：分账完成`,
      },
      receivers: [
        {
          label: t`分账方信息列表`,
          type: {
            label: t`分账接收方类型<br/> 1、MERCHANT_ID：商户号<br/> 2、PERSONAL_OPENID：个人openid（由父商户APPID转换得到）`,
          },
          description: {
            label: t`分账的原因描述，分账账单中需要体现`,
          },
          account: {
            label: t`分账接收方账号：<br/> 1、类型是MERCHANT_ID时，是商户号（mch_id或者sub_mch_id）<br/> 2、类型是PERSONAL_OPENID时，是个人openid`,
          },
          username: {
            label: t`合伙人 / 公司 / 司机`,
          },
          name: {
            label: t`合伙人名 / 公司名 / 司机`,
          },
          userType: {
            label: t`身份 1-合伙人 2-公司 3-司机`,
          },
          amount: {
            label: t`分账金额 单位为分，只能为整数，不能超过原订单支付金额及最大分账比例金额`,
          },
          result: {
            label: t`分账结果<br/> 1、PENDING：待分账<br/> 2、SUCCESS：分账成功<br/> 3、CLOSED：已关闭`,
          },
          failReason: {
            label: t`分账失败原因，当分账结果result为CLOSED（已关闭）时，返回该字段<br/> 1、ACCOUNT_ABNORMAL：分账接收账户异常<br/> 2、NO_RELATION：分账关系已解除<br/> 3、RECEIVER_HIGH_RISK：高风险接收方<br/> 4、RECEIVER_REAL_NAME_NOT_VERIFIED：接收方未实名<br/> 5、NO_AUTH：分账权限已解除<br/> 6、RECEIVER_RECEIPT_LIMIT：接收方已达收款限额<br/> 7、PAYER_ACCOUNT_ABNORMAL：分出方账户异常`,
          },
          detailId: {
            label: t`微信分账明细单号`,
          },
          inflowPlatform: {
            label: t`这笔资金是否放回平台`,
          },
          redistribute: {
            label: t`重新分账信息`,
            outOrderNo: {
              label: t`商户系统内部的分账单号`,
            },
            orderId: {
              label: t`微信分账单号,微信支付系统返回的唯一标识`,
            },
            state: {
              label: t`分账单状态（每个接收方的分账结果请查看receivers中的result字段）<br/> 1、PROCESSING：处理中<br/> 2、FINISHED：分账完成`,
            },
            result: {
              label: t`分账结果<br/> 1、PENDING：待分账<br/> 2、SUCCESS：分账成功<br/> 3、CLOSED：已关闭`,
            },
            failReason: {
              label: t`分账失败原因，当分账结果result为CLOSED（已关闭）时，返回该字段`,
            },
            detailId: {
              label: t`微信分账明细单号`,
            },
          },
        },
      ],
    },
  ],
  refundInfos: [
    {
      label: t`退款信息集合`,
      applicationId: {
        label: t`申请编号<br/> S + 年月日 + 自增编号`,
      },
      state: {
        label: t`退款状态`,
        text: (v, record) => {
          const { applicationRefunds = [] } = record;
          if (applicationRefunds.length <= 0) return '无';
          const value = applicationRefunds.some((e) => e.refunded);
          return value ? t`已退款` : t`未退款`;
        },
        // <br/> - 0 已驳回<br/> - 1 申请中<br/> - 2 已提交<br/> 前端提交`,
      },
      refundId: {
        label: t`退款流水号`,
      },
      type: {
        label: t`退款类型<br/> - 0 车票类型<br/> - 1 取消订单<br/> - 2 其他类型`,
      },
      distanceTime: {
        label: t`距离时间`,
      },
      cancelTime: {
        label: t`取消时间`,
        text: DATETIME_TEXT,
      },
      refundPrice: {
        label: t`退款金额`,
        text: (__, record) => {
          const { applicationRefunds = [] } = record;
          if (applicationRefunds.length <= 0) return '无';
          const total = applicationRefunds.reduce((sum, cur) => {
            const { refundPrice, refunded } = cur;
            if (refunded) {
              sum += refundPrice;
            }
            return sum;
          }, 0);
          return `¥${total}`;
        },
      },
      cancelRemark: {
        label: t`取消原因`,
        ui: {
          span: 4,
        },
      },
      rejectRemark: {
        label: t`驳回说明`,
      },
      rejectTime: {
        label: t`驳回时间`,
      },
      attachments: [
        {
          label: t`附件`,
          title: {
            label: t`附件标题`,
          },
          description: {
            label: t`附件说明`,
          },
          binaryId: [
            {
              label: t`附件id`,
            },
          ],
        },
      ],
      ticketRefundInfos: [
        {
          label: t`车票退款信息`,
          ticketCode: {
            label: t`车票号`,
          },
          originalPrice: {
            label: t`原票价`,
          },
          operatingState: {
            label: t`中港通状态`,
          },
          state: {
            label: t`车票状态`,
          },
          refundPrice: {
            label: t`退款金额`,
          },
          operatorRefundTime: {
            label: t`运营商退款时间`,
          },
        },
      ],
    },
  ],
  // 前端新增字段
  changePrice: {
    label: t`修改后价格`,
    text: (_, record) => {
      const { price, priceDifference } = record;
      if (!priceDifference) return '';
      return Number(price + priceDifference);
    },
  },
  typeOfVehicle: {
    label: t`行车类型`,
    text: () => t`全程同车`,
  },
  refundTime: {
    label: t`退款时间`,
    text: DATETIME_TEXT,
  },
  taskInfo: {
    carrierPrice: {
      label: t`公司费用`,
    },
    fleetSettlement: {
      label: t`公司结算状态`,
      text: (v) => (v ? t`已结算` : t`未结算`),
    },
  },
  beginAreaName: {
    label: t`开始区域名`,
  },
  endAreaName: {
    label: t`结束区域名`,
  },
};
